home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
bioinformatics.org
/
bioinformatics.org_software.tar
/
www.bioinformatics.org
/
download
/
ecell2
/
ecell220setup.exe
/
{app}
/
standard
/
SRCJ
/
Message.java
< prev
next >
Wrap
Text File
|
2002-07-02
|
5KB
|
199 lines
/**
* title: Message class (Message.java)<p>
* description : Massage window class<p>
* Copyright (C) 1996-2001 Keio University <p>
* Copyright (C) 1998-2001 Japan Science and Technology Corporation (JST)<p>
* Copyright (C) 2000-2001 Mitsui Knowledge Industry Co. Ltd. Bioscience Division<p>
* GNU General Public Licence <p>
* Division: Mitsui Knowledge Industry Co. Ltd. Bioscience division <p>
* Version : $Id: Message.java,v 1.6 2002/07/02 09:31:11 shiozawa Exp $ <p>
*/
package ecell;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
/**
* Class for displaying information on a simulation, being performed
* @author: XD.Zheng
* @version: 1.0
* @since JDK1.2.2
*/
public class Message extends JFrame implements ActionListener
{
public static final int MSG_DEBUG = 4;
public static final int MSG_ATTEN = 3;
public static final int MSG_ERROR = 2;
public static final int MSG_LOG = 1;
public static final int nMaxMessage = 1000;
private final Color[] colorTable = {Color.black, Color.red, Color.red, Color.blue};
Vector vecText = new Vector();
JTextArea txaMessage = new JTextArea();
JPanel jp1 = new JPanel();
// 2002.4 akira shiozawa
JButton buttonClose = new JButton( "Close" );
JButton buttonClear = new JButton( "Clear" );
JCheckBox chboxDebug = new JCheckBox( "show debug messages" );
/**
* Constructor
*/
public Message() {
jbInit();
}
/**
*Initialization
*@return void
*@exception Exception
*/
private void jbInit()
{
//this.setTitle("Messages");
this.setTitle("ECELL2 Console");
this.setSize(new Dimension(535, 470));
txaMessage.setAutoscrolls(true);
// 2002.4. akira shiozawa
txaMessage.setEditable( false );
// 2002.4 akira shiozawa
JPanel jp11 = new JPanel();
jp11.setLayout( new FlowLayout( 0, 0, 0 ) );
jp11.add( buttonClose );
jp11.add( buttonClear );
jp1.setLayout( new BorderLayout() );
jp1.add( jp11, "West" );
jp1.add( chboxDebug, "East" );
JScrollPane jScrollPane = new JScrollPane(txaMessage);
this.getContentPane().add(jScrollPane , BorderLayout.CENTER);
this.getContentPane().add( jp1, BorderLayout.SOUTH );
this.setDefaultCloseOperation( WindowConstants.DO_NOTHING_ON_CLOSE );
chboxDebug.addActionListener( this );
buttonClose.addActionListener( this );
buttonClear.addActionListener( this );
}
public void actionPerformed( ActionEvent e )
{
if( e.getSource() == buttonClose )
{
exit_actionPerformed();
}
else if( e.getSource() == buttonClear )
{
txaMessage.setText( "" );
}
else if( e.getSource() == chboxDebug )
{
}
}
protected void processWindowEvent( WindowEvent e )
{
super.processWindowEvent( e );
if ( e.getID() == WindowEvent.WINDOW_CLOSING )
{
exit_actionPerformed();
}
}
public void show()
{
super.show();
txaMessage.setCaretPosition( txaMessage.getText().length() );
}
public void exit_actionPerformed()
{
this.hide();
}
/*
*Set a message in the Massage window.
*@return void
*@param message Displayed message
*/
private void setMessage( String message, int flag, boolean lf )
{
/** 2002.7.2 comment out [not implemented yet]
if( vecText.size() >= Message.nMaxMessage )
{
vecText.remove( 0 );
}
vecText.addElement( (flag + ":" + message) );
**/
if( flag == Message.MSG_DEBUG && !chboxDebug.isSelected() )
{
return;
}
//txaMessage.setForeground( colorTable[flag - 1] );
if( lf )
{
txaMessage.append(message + "\n");
System.out.println( message );
}
else
{
txaMessage.append( message );
System.out.print( message );
}
if( isShowing() )
{
txaMessage.setCaretPosition( txaMessage.getText().length() );
}
}
public void setMessage(String message)
{
setMessage( message, Message.MSG_LOG, true );
}
public void setMessage( String message, boolean lf )
{
setMessage( message, Message.MSG_LOG, lf );
}
public void setDebugMessage( String str )
{
setMessage( str, Message.MSG_DEBUG, true );
}
public void setErrorMessage( Exception e )
{
setMessage( e.getMessage(), Message.MSG_ERROR, true );
}
public void setAttentionMessage( String str )
{
setMessage( str, Message.MSG_ATTEN, true );
}
public void setDebugFlag( boolean flag )
{
chboxDebug.setSelected( flag );
}
}